#include<bits/stdc++.h>

using namespace std;

void slove()
{
    int n;cin>>n;
    vector<int>arr(n);
    for(int i=0;i<n;i++)cin>>arr[i];
    vector<vector<int>>dp(n,vector<int>(2,0));//跟和不跟两种状态
    //0为不跟,1为跟
    dp[0][0]=arr[0];
    dp[0][1]=arr[0];
    int ret=0;
    for(int i=1;i<n;i++)
    {
        //如果不跟
        dp[i][0]=arr[i];
        ///如果跟
        dp[i][1]=max(dp[i-1][0],dp[i-1][1])+arr[i];
        ret=max(ret,max(dp[i][1],dp[i][0]));
       // cout<<dp[i][0]<<" :"<<dp[i][1]<<endl;
    }
    cout<<ret<<endl; 
}


int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0),cout.tie(0);
    int t=1;
    while(t--)
        slove();
    return 0;
}
